The present invention relates generally to computer bus circuitry. The present invention relates more particularly to automatic multi-mode termination for use with a Small Computer System Interface (SCSI) host bus adapter, which senses the types of devices, e.g., single ended (SE) and/or low voltage differential (LVD) and automatically provides bus termination which is appropriate for the type(s) of devices sensed, so as to eliminate the need to manually terminate either the host bus adapter or the individual devices.
The Small Computer System Interface (SCSI) is a parallel input/output bus which may be used to connect devices such as disk drives, tape drives, CD-ROMs and other peripherals to a standard computer bus such as an Industry Standard Architecture (ISA) bus or Peripheral Component Interconnect (PCI) bus. The SCSI bus is a bi-directional multimaster bus which can accommodate peer to peer communications among multiple CPU""s and multiple-peripherals. Because of its versatility and speed, the SCSI interface is becoming increasingly important in the microcomputer field.
A SCSI bus must be terminated at both ends in order to operate reliably, particularly when used at high clock rates. Such termination provides impedance matching at each end of the bus, so as to mitigate signal corruption which would otherwise occur as electronic pulses are reflected from the non-terminated ends of the bus due to impedance mismatch.
Consequently, for an SCSI host bus adapter with multiple ports, it is necessary to determine if the host bus adapter defines one end of the SCSI bus. If the SCSI host bus adapter does define one end of the SCSI bus, then the SCSI host bus adapter itself must be terminated (in addition to terminating the device at the other end of the SCSI bus). If the SCSI host bus adaptor does not constitute one end of the SCSI bus, then the last device attached to each SCSI cable (which define portions of the SCSI bus) must be terminated. In this manner, both ends of the SCSI bus are terminated, whether they are defined by the SCSI host bus adaptor or by a device.
For example, if a SCSI host bus adaptor has two ports, both of which have devices attached thereto so as to place the SCSI host bus adapter in the middle of the bus, then no termination at the SCSI host bus adapter is required. Rather, termination must be provided at the two devices on the ends of the SCSI bus. If, however, one of the two ports is vacant, then the SCSI host bus adapter, by definition, defines one end of the SCSI bus and therefore requires termination.
In response to this problem, there have been developed various methods for providing suitable termination of unoccupied SCSI host bus adaptor ports and suitable termination of the last devices on the ends of the SCSI bus.
For example, termination can be provided to the last device on either end of the SCSI bus by either attaching a terminator to the device or by enabling a built-in terminator of the device. Terminators are typically attached to such devices via the same type of SCSI connector used to attach the SCSI cable to the device. Built-in terminators are typically enabled either by installing jumpers or setting DIP switches. Unused ports of the host bus adapter can be terminated in a similar manner.
In this manner, the contemporary method for providing termination at the last SCSI device attached to the host bus adapter and/or at any unused port of the host bus adapter is accomplished manually. Thus, a person must manually attach the termination, manually install the jumpers and/or manually set the DIP switches. This process must be repeated each time a device is added to or removed from either end of the SCSI bus.
Terminating the SCSI host bus adaptor is particularly difficult, since it requires that the computer be opened so as to provide access to the SCSI host bus adaptor. Also, the SCSI host bus adapter must generally be removed from the computer to effect such termination. As those skilled in the art will appreciate, repeatedly removing and reinstalling a SCSI host bus adaptor may cause it to fail prematurely due to wear which inherently occurs to the edge connectors thereof.
In an attempt to mitigate the above mentioned difficulties associated with the manual effecting of termination of a SCSI host bus adaptor, the prior art has provided for automatic termination thereof. One example of such automatic termination of the host bus adaptor is provided by U.S. Pat. No. 5,434,516 issued to Kosco on Jul. 18, 1995 and entitled Automatic SCSI Termination Circuit, the entire contents of which are hereby expressly incorporated by reference. According to the Kosco automatic SCSI termination circuit, the presence of devices attached to either of the two ports of a SCSI host bus adaptor is sensed by monitoring the -GNDFB_INT and -GNDFB_EXT lines of the SCSI bus, as discussed in detail below.
However, the Kosco automatic SCSI termination circuit only facilitates termination at the SCSI host bus adaptor itself. It does not provide termination at the ends of the SCSI bus when SCSI devices are attached to one or both of the ports of the SCSI host bus adaptor, such as via a SCSI cable.
Further, the Kosco automatic SCSI termination circuit is only suitable for use in single ended (SE) device applications. Thus, when using the Kosco automatic SCSI termination circuit, low voltage differential (LVD) devices cannot be attached to the SCSI bus and manual intervention is still required in order to effect termination at the last device attached to either port of the SCSI host bus adaptor.
In view of the foregoing, it is desirable to provide automatic termination which facilitates termination of both the SCSI host bus adaptor and the ends of the SCSI bus without requiring manual operations when devices are attached to one or more of the ports of the SCSI host bus adaptor. It is further desirable to provide for the automatic detection of the type of devices, e.g., single ended (SE), low voltage differential (LVD) or a combination of both single ended (SE) and low voltage differential (LVD), attached to the SCSI bus and to terminate the SCSI host bus adaptor and/or the ends of the SCSI bus to which the devices are attached accordingly.
The present invention specifically addresses and alleviates the above mentioned deficiencies associates with the prior art. More particularly, the present invention comprises a SCSI host bus adaptor which is configured so as to facilitate the automatic termination of any SCSI ports thereof to which no devices are attached. Termination is performed in a manner which provides correct termination for either single ended (SE) devices, low voltage differential (LVD) devices or any combination thereof.
In a further aspect, the present invention further comprises a cable which facilitates such automatic multi-mode termination of any devices attached thereto. Thus, an automatic termination circuit of the cable senses the presence of any single ended (SE) devices, low voltage differential (LVD) devices or any combination thereof, and provides the proper termination therefor.
Optionally, the SCSI cable may comprise a plurality of branches which extend from a trunk thereof, so as to facilitate more convenient attachment of devices thereto.